package android.content;

import android.os.Binder;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;

public interface ISyncAdapterUnsyncableAccountCallback extends IInterface {

    public static class Default implements ISyncAdapterUnsyncableAccountCallback {
        @Override  // android.os.IInterface
        public IBinder asBinder() {
            return null;
        }

        @Override  // android.content.ISyncAdapterUnsyncableAccountCallback
        public void onUnsyncableAccountDone(boolean arg1) throws RemoteException {
        }
    }

     abstract class Stub extends Binder implements ISyncAdapterUnsyncableAccountCallback {
        static class Proxy implements ISyncAdapterUnsyncableAccountCallback {
            private IBinder mRemote;
            public static ISyncAdapterUnsyncableAccountCallback sDefaultImpl;

            Proxy(IBinder arg1) {
                this.mRemote = arg1;
            }

            @Override  // android.os.IInterface
            public IBinder asBinder() {
                return this.mRemote;
            }

            public String getInterfaceDescriptor() {
                return "android.content.ISyncAdapterUnsyncableAccountCallback";
            }

            @Override  // android.content.ISyncAdapterUnsyncableAccountCallback
            public void onUnsyncableAccountDone(boolean arg6) throws RemoteException {
                Parcel v0 = Parcel.obtain();
                Parcel v1 = Parcel.obtain();
                try {
                    v0.writeInterfaceToken("android.content.ISyncAdapterUnsyncableAccountCallback");
                    v0.writeInt(arg6 ? 1 : 0);
                    if (!this.mRemote.transact(1, v0, v1, 0) && Stub.getDefaultImpl() != null) {
                        Stub.getDefaultImpl().onUnsyncableAccountDone(arg6);
                        v1.recycle();
                        v0.recycle();
                        return;
                    }

                    try {
                        v1.readException();
                    } catch (Throwable v6) {
                        v1.recycle();
                        v0.recycle();
                        throw v6;
                    }
                } catch (Throwable v6) {
                    v1.recycle();
                    v0.recycle();
                    throw v6;
                }


                v1.recycle();
                v0.recycle();
            }
        }

        private static final String DESCRIPTOR = "android.content.ISyncAdapterUnsyncableAccountCallback";
        static final int TRANSACTION_onUnsyncableAccountDone = 1;

        public Stub() {
            this.attachInterface(this, "android.content.ISyncAdapterUnsyncableAccountCallback");
        }

        @Override  // android.os.IInterface
        public IBinder asBinder() {
            return this;
        }

        public static ISyncAdapterUnsyncableAccountCallback asInterface(IBinder arg2) {
            if (arg2 == null) {
                return null;
            }

            IInterface v0 = arg2.queryLocalInterface("android.content.ISyncAdapterUnsyncableAccountCallback");
            return v0 == null || !(v0 instanceof ISyncAdapterUnsyncableAccountCallback) ? new Proxy(arg2) : ((ISyncAdapterUnsyncableAccountCallback) v0);
        }

        public static ISyncAdapterUnsyncableAccountCallback getDefaultImpl() {
            return Proxy.sDefaultImpl;
        }

        @Override  // android.os.Binder
        public boolean onTransact(int arg4, Parcel arg5, Parcel arg6, int arg7) throws RemoteException {
            if (arg4 != 1) {
                if (arg4 != 0x5F4E5446) {
                    return super.onTransact(arg4, arg5, arg6, arg7);
                }

                arg6.writeString("android.content.ISyncAdapterUnsyncableAccountCallback");
                return true;
            }

            arg5.enforceInterface("android.content.ISyncAdapterUnsyncableAccountCallback");
            this.onUnsyncableAccountDone(arg5.readInt() != 0);
            arg6.writeNoException();
            return true;
        }

        public static boolean setDefaultImpl(ISyncAdapterUnsyncableAccountCallback arg1) {
            if (Proxy.sDefaultImpl == null && arg1 != null) {
                Proxy.sDefaultImpl = arg1;
                return true;
            }

            return false;
        }
    }

    void onUnsyncableAccountDone(boolean arg1) throws RemoteException;

}
